package com.xkl.springdoc.service;

import com.xkl.springdoc.common.R;
import com.xkl.springdoc.request.UserDTO;
import com.xkl.springdoc.response.UserVo;

import java.util.List;

/**
 * 用户管理
 *
 * @version: 1.0.0-SNAPSHOT
 * @author: 码农小卡拉
 * @createTime: 2025-09-17 11:22
 **/
public interface IUserService {

    /**
     * 新增用户
     *
     * @param userDTO 用户BO
     * @return 新增结果
     */
    public R addUser(UserDTO userDTO);

    /**
     * 更新用户
     *
     * @param userDTO 用户BO
     * @return 更新结果
     */
    public R updateUser(UserDTO userDTO);

    /**
     * 删除用户
     *
     * @param id 用户ID
     * @return 删除结果
     */
    public R deleteUser(Long id);

    /**
     * 获取用户
     *
     * @param id 用户ID
     * @return 用户VO
     */
    public R getUser(Long id);

    /**
     * 获取用户列表
     *
     * @return 用户VO列表
     */
    public R<List<UserVo>> getUsers();
}
